Java PrimeFaces自动完成更改默认大小

Java PrimeFaces自动完成更改默认大小,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,我正在尝试更改自动完成的大小(primefaces 3.3),我尝试了以下所有选项,但大小保持不变 size="600" Style="width:600px;" StyleClass > css file with width:600px; 但是它们都不能增加尺寸,所以我该怎么做呢 注意:我注意到,如果指定(宽度>面板网格大小),面板网格大小将自动更改,但autoComplete仍为默认大小 更新: 我的自动完成代码 <p:autoComplete id="autoTest" v

我正在尝试更改自动完成的大小(primefaces 3.3),我尝试了以下所有选项,但大小保持不变

size="600"
Style="width:600px;"
StyleClass > css file with width:600px;
但是它们都不能增加尺寸,所以我该怎么做呢

注意:我注意到,如果指定(宽度>面板网格大小),面板网格大小将自动更改,但autoComplete仍为默认大小

更新: 我的自动完成代码

<p:autoComplete id="autoTest" value="#{testMB.selectedTest}" 
completeMethod="#{testMB.completeTest}" var="test" 
itemLabel="#{test.name}" itemValue="#{test}" converter="#{testConverter}"
forceSelection="TRUE"  queryDelay="1000" multiple="TRUE" size="600" 
process="@this">

只需更改
大小即可

     size="30"

    <p:autoComplete id="yourId" value="#{YourBean.value}" completeMethod="#{YurBean.complete}" size="30"/> 
size=“30”

我知道的最简单的方法是: 在页面中添加样式标记 把这个类放进去: .ui输入字段 使用此属性: 宽度:600px

但是请注意,这样做会更改页面中的所有输入
:)

我是用下面的css做的

.ui-autocomp .ui-inputfield {
clear: left;
cursor: text;
list-style-type: none;
margin: 0;
min-height: 1px;
overflow: hidden;
width: 250px;
}
只需确保选择不超过250px,否则关闭图标+额外文本将不可见


注意:我是从primeface css文件中得到的,要更改AutoComplete的大小,需要为AutoComplete覆盖primefaces的默认样式类。 使用firebug,您可以准确地找到styleclass名称。如果使用firebug检查AutoComplete元素,则可以重写样式类,如
.ui-AutoComplete-input.ui-inputfield
{
宽度:50px!重要;
}


!!这里需要强调的是坚持高优先级。

我使用
inputStyle
属性更改了Primefaces 5.2中自动完成的默认大小

例如:

inputStyle="width: 100px"
这样使用:

<p:autoComplete 
  ...
  style = "width: 100%"
  inputStyle = "width: 100%" />


只需更改100%的像素大小即可。

最重要的是,如果我们使用
[multiple]=“true”
指令,所有解决方案都不起作用。 此外,这个问题也在primeNg论坛上提出,没有解决方案

如果不使用上述
[multiple]=“true”
指令 下面的解决方案将起作用

  • [style]=“{'width':'100%}”[inputStyle]=“{'width':'100%}”

  • class=“p-autocomplete”
    在样式文件中,您可以将该类定义为
    。p-autocomplete{width:100%;}


请检查所有选项。

这对我来说很有效,可以用[multiple]=“true”更改p:autoComplete的宽度

首先,使用浏览器检查Primefaces生成的html和css代码,并查找要p:autoComplete的样式。在我的例子中,使用Primefaces 6.1,样式定义如下:

<p:autoComplete 
  ...
  style = "width: 100%"
  inputStyle = "width: 100%" />
.ui-autocomplete-multiple-container.ui-inputfield{…

然后,以以下方式在样式文件中使用自动完成的id:

#myAutoCompleteId.ui-autocomplete-multiple-container.ui-inputfield{
宽度:330px!重要;
}


通过这种方式,您可以为每个自动完成获得不同的宽度。

我知道时间很长,但是!在深入研究样式之后,这些样式在PF 6.1的多个自动完成中对我有效:

.ui-autocomplete{
width: 100% !important;
}
.ui-autocomplete-input{
width: 100% !important;
}
.ui-autocomplete-multiple {
width: 98% !important;
}
.p-autocomplete {
width: 98% !important;
}
.ui-autocomplete-multiple-container {
width: 100% !important;
}

根据您的需要进行调整。

我已经尝试过了,但没有效果,请检查更新的代码。使用[style]=“{'width':'100%}”和[inputStyle]=“{'width':'100%}”可以帮我解决问题。如果您想用相同的属性覆盖多个属性,也可以添加一个class属性。