似乎$nested = [];
foreach($results as $r) {
if($r['parent_id'] === null) {
$nested[$r['id']] = [
'title' => $r['title'],
'url' => $r['url'],
'subs' => []
];
continue;
}
$nested[$r['parent_id']]['subs'][] = [
'title' => $r['title'],
'url' => $r['url']
];
}
$nested = array_values($nested);
宽度始终是我们输入的输入的宽度。有没有办法让它更大?我有一个非常小的输入,无法读取下拉项目。我在形式空间方面也受到限制,因此无法使输入更大。
create procedure Studentinfo()
begin
declare st int;
declare stu varchar(20);
declare done int default false;
declare CURSOR s1 for select sid,sname from student;
declare continue handler for not found set done =true;
open s1;
read1 :loop
fetch s1 into st,stu;
if done=true then
leave read1;
end if;
select concat(st,stu);
end loop read1;
close s1;
end;
答案 0 :(得分:11)
mat-autocomplete样式继承自cdk-overlay-pane。为了改变CSS下面的宽度使用。
::ng-deep .cdk-overlay-pane {
/* Do you changes here */
min-width:450px;
}
您可以在此处参考完整示例: https://stackblitz.com/edit/angular-vzetqy
答案 1 :(得分:9)
只需将panelWidth属性添加到mat-autocomplete
<mat-autocomplete [panelWidth]="300">
答案 2 :(得分:6)
除了Athan Soulis所说的那样,我还偶然发现panelWidth也接受值“ fit”,这恰好符合我们大多数人的目标(使它尽可能地宽)。不确定它是否为“任何CSS尺寸值”,但是否可以使用。
答案 3 :(得分:2)
In the document for MatAutocomplete有一个属性可满足您的需求:
@Input() panelWidth:字符串|数字
指定自动完成面板的宽度。可以是任何CSS大小值,否则将与其主机的宽度匹配。
使用此属性,您不会有被cdk-overlay-pane继承的任何其他事物干扰的风险。
对于进一步的自定义,您可能会发现此属性也很有用:
@Input('class') classList:字符串
采用在主机mat-autocomplete元素上设置的类,并将其应用于覆盖容器内的面板,以简化样式。
答案 4 :(得分:2)
我用(动态)解决了它:
[panelWidth]="'auto'"
以下也是可能的:
panelWidth="auto"