我有一个这样的选择HTML:
<select ng-model='nrSelect' class='form-control'>
<option value='47'>47</option>
<option value='46'>46</option>
<option value='45'>45</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如何从例如47的typescript中选择默认值?
SCENERIO用户有一个下拉列表,他选择了一个选项.我想显示该下拉列表并将该选项设置为上次由该用户选择的默认值.
我在选项上使用了选定的属性,但React会生成一个警告,要求我在select上使用默认值.
例如
render: function() {
let option_id = [0, 1];
let options = [{name: 'a'}, {name: 'b'}];
let selectedOptionId = 0
return (
<select defaultValue={selectedOptionId}>
{option_id.map(id =>
<option key={id} value={id}>{options[id].name}</option>
)}
</select>
)
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我不知道selectedOptionId,因为所选的选项可以是任何选项.我怎样才能找到defaultValue?
我使用ng-bootstrap替代angular2中的ui-bootstrap.
我的html如下:
<ul class="list-inline">
<li class="tag" ngb-dropdown auto-close="outsideClick"
*ngFor="let item of ['Elastic Search','Database Theory','CVS'];
let $index=index;"
[ngClass]="{'default-tag': $index==0, 'matched-tag': $index==1, 'unmatched-tag': $index==2 }">
<a href ngb-dropdown-toggle id="desiredSkill{{$index}}">
<i class="bi_interface-tick following"></i> {{item}} <i class="bi_interface-more tag-menu-icon"></i>
</a>
<ul class="dropdown-menu tag-menu" ngb-dropdown-menu [aria-labelledby]="desiredSkill{{$index}}">
<li><a href>Follow Skill</a></li>
<li><a href>Related Jobs</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是当我运行我的应用程序时,我得到以下错误:
main.browser.ts:25错误:模板解析错误:解析器错误:得到插值({{}})其中表达式在[desiredSkill {{$ index}}]的第12列中的JobDescription @ 174:77("] [咏叹调-labelledby] = "desiredSkill {{$索引}}">
"):JobDescription @ 174:77分析器错误:JobDescription @ 174:77中的[desiredSkill {{$ index}}]第13列出现意外的标记'{'("
] [aria-labelledby] ="desiredSkill {{$ index }}">"):JobDescription @ 174:77无法绑定到'aria-labelledby',因为它不是'ul'的已知属性.("] [aria-labelledby] ="desiredSkill {{$ index}}"> "):JobDescription …
我想在左侧添加图标,DropDownButton但找不到方法。我想要实现的是这样的:
我尝试了以下代码,但它将图标放在我不想要的位置,并且它也覆盖了箭头图标:
`@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
margin: EdgeInsets.only(top: 64.0, left: 16.0, right: 16.0),
color: Colors.white,
child: DropdownButton(
icon: Icon(
Icons.person,
color: Colors.redAccent,
size: 20.09,
),
isExpanded: true,
items: _studentList.map((val) {
return DropdownMenuItem(
value: val,
child: Text(val),
);
}).toList(),
value: _currentSelectedItem,
onChanged: (value) {
setState(() {
_currentSelectedItem = value;
});
},
),
),
);
}`
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是这样的:
我也尝试在小部件内部放置Icon()和放置,但这不允许扩展到全宽。DropDownButton()Row()DropDownButton()
任何帮助,将不胜感激。
谢谢
在这里,我想清楚地解释我的问题,
我试图执行多选下拉过滤器,在此多选过滤器之前,我有一个基本过滤器.
我正在使用kartik-v下拉延伸
search.php中
<?php
$status = ArrayHelper::map(Status::find()->all(),'id','status');
echo $form->field($model, 'status')->widget(Select2::classname(), [
'data' => $status,
'language' => 'en',
'options' => [
'placeholder' => 'Select Status..',
'multiple' => true
],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
Run Code Online (Sandbox Code Playgroud)
claimsSearch.php
$query->andFilterWhere([
'status' => $this->status
]);
Run Code Online (Sandbox Code Playgroud)
如果我尝试上面的代码我得到如下错误
Array to string conversion
Run Code Online (Sandbox Code Playgroud)
但在这里我不知道如何编写过滤器代码.
在这个下拉导航中,我正在构建如果打开一个下拉列表,然后单击打开第二个,黑框应保持可见.当您点击第二个下拉列表时黑盒消失,并在下拉列表完全打开后重新出现.
更新
我还注意到下拉列表打开后黑框显示,它应该同时打开.
我希望这是有道理的,谢谢你的帮助!
$(document).ready(function() {
$(".click").on("click", function(e) {
var menu = $(this);
toggleDropDown(menu);
});
$(document).on('mouseup',function(e) {
var container = $("nav .top-bar-section ul");
// if the target of the click isn't the container nor a descendant of the container
if (!container.is(e.target) && container.has(e.target).length === 0) {
$('a.active').parent().find('.showup').stop(true, true).slideUp(500, function() {
$(".main-container").removeClass("black-bg");
if ($('a.active').hasClass('active')) {
$('a.active').removeClass('active');
}
});
}
});
});
function toggleDropDown(menu) {
var isActive = $('a.active').length;
$('a.active').parent().find('.showup').stop(true, true).slideUp(500, function() {
$(".main-container").removeClass("black-bg");
if (menu.hasClass('active')) {
menu.removeClass('active');
} else {
$('a.active').removeClass('active'); …Run Code Online (Sandbox Code Playgroud)我收到以下错误 -
Failed to compile
./node_modules/primereact/components/dropdown/DropdownPanel.js
Module not found: Can't resolve 'react-transition-group' in 'D:\my-app\node_modules\primereact\components\dropdown'
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@types/react-transition-group": "^4.4.1",
"primeflex": "^2.0.0",
"primeicons": "^4.1.0",
"primereact": "^6.1.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.3",
"web-vitals": "^1.0.1"
},
Run Code Online (Sandbox Code Playgroud)
在 App.js 中
import React, { useState } from 'react';
import { Dropdown } from 'primereact/dropdown'; //getting error after adding this line
import 'primeflex/primeflex.css';
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
我想像Flutter 中的DropdownButtonSpinner 一样在下面打开 DropDown 对话框。现在它在 Button 小部件上打开,当我选择最后一个项目并重新打开时。
代码:
import 'package:flutter/material.dart';
class DropDown extends StatefulWidget {
DropDown() : super();
final String title = "DropDown Demo";
@override
DropDownState createState() => DropDownState();
}
class Company {
int id;
String name;
Company(this.id, this.name);
static List<Company> getCompanies() {
return <Company>[
Company(1, 'Apple'),
Company(2, 'Google'),
Company(3, 'Samsung'),
Company(4, 'Sony'),
Company(5, 'LG'),
];
}
}
class DropDownState extends State<DropDown> {
//
List<Company> _companies = Company.getCompanies();
List<DropdownMenuItem<Company>> _dropdownMenuItems;
Company _selectedCompany;
@override
void initState() {
_dropdownMenuItems …Run Code Online (Sandbox Code Playgroud) 我需要帮助使用find或get或其他任何东西在键值对中获取两个值(用于人类友好下拉列表).我需要帮助最简单的方法在CakePHP中执行此操作.
这是我的尝试:
在我的控制器中
$users = $this->LocationsUser->Users->find('list', [
'limit' => 1,
'keyField' => 'id',
'valueField' => ['first_name', 'last_name']
])->where(['id' => $id]);
Run Code Online (Sandbox Code Playgroud)在我看来
echo $this->Form->input('user_id', [
'options' => $users,
'type' => 'select',
'multiple' => false,
]);
Run Code Online (Sandbox Code Playgroud)我下拉列表的结果:
<option value="10">Fabian;Pankiers</option>
Run Code Online (Sandbox Code Playgroud)看到我需要一个没有分号的结果";" .现在我可以使用javascript删除分号,但那就太过分了.在CakePHP 3中有没有一种简单的方法可以实现这一点?
dropdown ×10
angular ×2
flutter ×2
reactjs ×2
android ×1
cakephp ×1
cakephp-3.0 ×1
dart ×1
find ×1
html ×1
ios ×1
javascript ×1
jquery ×1
key-value ×1
nav ×1
objective-c ×1
php ×1
primereact ×1
select ×1
swift ×1
typescript ×1
uitableview ×1
yii2 ×1