如何从DropdownButtonFormField删除下划线(请参见下面的照片),我尝试了各种与InputDecortaion组合的选项,但找不到任何方法。
SizedBox(
width: 100.0,
child: DropdownButtonFormField<int>(
decoration: InputDecoration(
border: UnderlineInputBorder(
borderSide:
BorderSide(color: Colors.white))),
value: 2,
items: <DropdownMenuItem<int>>[
DropdownMenuItem<int>(
value: 1,
child: Text("Owner"),
),
DropdownMenuItem<int>(
value: 2,
child: Text("Member"),
),
],
),
答案 0 :(得分:9)
将underline
属性设置为SizedBox()
也会使其不可见:
...
DropdownButton(
underline: SizedBox(),
...
答案 1 :(得分:8)
当今正确/清洁的解决方案是使用InputBorder.none
:
DropdownButtonFormField<int>(
decoration: InputDecoration(
enabledBorder: InputBorder.none,
...
),
...
)
如果您想避免边框全部显示,则可能还需要将border
,focusedBorder
,errorBorder
和disabledBorder
设置为InputBorder.none
案例。
答案 2 :(得分:3)
将underline: Container()
添加到您的设置中,如下所示:
SizedBox(
...
underline: Container(),
),
答案 3 :(得分:3)
根据此[Flutter Doc],您可以这样做。只需创建一个 DropdownButtonHideUnderline 类的对象,并将当前 DropdownButton 的实现作为DropdownButtonHideUnderline的子代传递。这;)
DropdownButtonHideUnderline(
child: new DropdownButton<String>(
......
),
),
答案 4 :(得分:2)
underline 可以带一个小部件,所以你只是给它分配了一个空的容器,或者一个 SizedBox.shrink()
iframe
示例:
underline:Container(),
-- or --
underline:SizedBox.shtrink(),
答案 5 :(得分:1)
一种方法:
在您的代码中-将decoration: InputDecoration
更改为decoration: InputDecoration.collapsed
body: SizedBox(
width: 100.0,
child: DropdownButtonFormField<int>(
decoration: InputDecoration.collapsed(hintText: ''),
value: 2,
...
OR
在您的代码中-代替border
使用enabledBorder: UnderlineInputBorder
DropdownButtonFormField<int>(
decoration: InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white))),
value: 2,
items: <DropdownMenuItem<int>>[
....
答案 6 :(得分:0)
只需将 DropdownButton 包装在 DropdownButtonHideUnderline 内,如下所示:
新的DropdownButtonHideUnderline( 子代:DropdownButton() )
答案 7 :(得分:0)
DropdownButtonHideUnderline( 子代:DropdownButton( isExpanded:是的, 提示:填充( 填充:const EdgeInsets.all(8.0), 子级:Text(“ Select State”), ), 样式:MyStyle()。getTextStyle(“ x1black”), 项目:[ “消息传递”, 'Chating', “不再感兴趣”, “文件请求” ] .map((String value){ 返回新的DropdownMenuItem( 价值:价值, 子级:新的文本(值), ); })。toList(), onChanged:(_){}, ),
),
答案 8 :(得分:0)
只需替换为此。
DropdownButtonHideUnderline(
child: DropdownButton()
)
答案 9 :(得分:0)
使用
DropdownButton<String>(
hint: Text("Status"),
value: 'Text Default',
isExpanded: true,
iconSize: 30,
underline: Container(
height: 1.0,
decoration: const BoxDecoration(
border: Border(bottom: BorderSide(color: Colors.transparent, width: 0.0))
),
),
...
答案 10 :(得分:0)
下划线带一个小部件。向其传递一个空白小部件,如下所示。
DropdownButton<T>(
value: value,
underline: SizeBox(), // Empty box will remove underline
)
答案 11 :(得分:0)
DropdownButtonFormField(
iconSize: 30,
decoration: InputDecoration(enabledBorder: InputBorder.none),
hint: Text(
"Select Duration",
style: TextStyle(fontSize: 20),
),
items: listDrop,
onChanged: (value) {
duration = value;
},
)
答案 12 :(得分:0)
如果只想在所有情况下都禁用边框,则可以使用:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
<thead>
<tr>
<th class="text-center">Building</th>
<th class="text-center">Student ID</th>
<th class="text-center">Student Name</th>
<th class="text-center">Payable</th>
<th class="text-center">Paid Amount</th>
<th class="text-center">Due</th>
<th class="text-center">Active</th>
</tr>
</thead>
<tbody>
<tr>
<td class="build-name" rowspan="3"><b>Shool 1</b></td>
<td align="center">151-15-4366</td>
<td align="center">Lorem Name</td>
<td align="center">13000</td>
<td align="center">10500</td>
<td align="center">2500</td>
<td align="center">True</td>
</tr>
<tr>
<td align="center">151-15-4852</td>
<td align="center">Lorem Name</td>
<td align="center">13000</td>
<td align="center">3000</td>
<td align="center">10000</td>
<td align="center">True</td>
</tr>
<tr>
<td align="center">151-15-5355</td>
<td align="center">Lorem Name</td>
<td align="center">18000</td>
<td align="center">3000</td>
<td align="center">15000</td>
<td align="center">True</td>
</tr>
<tr>
<td align="center">151-15-5355</td>
<td align="center">Lorem Name</td>
<td align="center">18000</td>
<td align="center">3000</td>
<td align="center">15000</td>
<td align="center">True</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="build-name" rowspan="2"><b>School 2</b></td>
<td align="center">151-15-4841</td>
<td align="center">Lorem Name</td>
<td align="center">13000</td>
<td align="center">10500</td>
<td align="center">2500</td>
<td align="center">True</td>
</tr>
<tr>
<td align="center">151-15-4930</td>
<td align="center">Lorem Name</td>
<td align="center">18000</td>
<td align="center">33000</td>
<td align="center">-15000</td>
<td align="center">True</td>
</tr>
</tbody>
</table>
如果您只想在没有错误时禁用它,则可以使用this
答案 13 :(得分:0)
到目前为止,DropdownButtonFormField不支持DropdownButtonHideUnderline。
尽管它是在引擎盖下使用它来删除DropdownButton的下划线,但是在其顶部应用了它自己的装饰
将边框设置为InputBorder。没有效果
DropdownButtonFormField<String>(
decoration: InputDecoration(border: InputBorder.none)
)
如果您希望边框出现错误,可以使用
InputDecoration(
border: InputBorder.none,
errorBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.red),
),
),
答案 14 :(得分:0)
如果 DropdownButtonFormField 文本因轮廓边框而被修剪,则使用此代码:
DropdownButtonFormField<String>(
decoration: InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white)),
isDense: true,)
答案 15 :(得分:-1)
您可以将下划线属性更改为空白或空窗口小部件,它将像魅力一样检查以下属性
下划线:小部件,
例如:- DropdownButton( 图标:Icon(Icons.more_vert), isExpanded:是的, 值:dropValue, 下划线:小部件,