Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
件選擇器是我們經(jīng)常會使用到的,一般都是通過點(diǎn)擊某個按鈕然后選取文件。
所以封裝一個文件選擇按鈕還是有必要的。
首先,這個按鈕使用起來必須和普通按鈕一模一樣,否則就失去了封裝的意義。
其次也要基本符合我[基礎(chǔ)]中講到的幾點(diǎn)。
于是(注意在chrome中使用image/*會很慢):(基礎(chǔ)版本)
import React, { PureComponent } from 'react'; import CSSModules from 'react-css-modules'; import Tools from '../../common_js/Tools' import styles from './FileButton.css' class FileButton extends PureComponent { constructor(props) { super(props); this.getFiles=this.getFiles.bind(this) this.onChange=this.onChange.bind(this) } getFiles() { let ans=[] let files=this.refs.fileLoader.files for (let i=0; i < files.length; i++) { ans.push(files[i]) } return ans } onChange(e) { if (!Tools.isNone(this.props.onChange)) { this.props.onChange(this.getFiles()) } this.refs.fileLoader.value='' } render() { let accept=this.props.accept if (Tools.isNone(accept)) { accept='image/*' if (Tools.isChrome()) { accept='image/jpeg,image/gif,image/png,image/bmp' } } return ( <label className={this.props.className} style={this.props.style} > {this.props.children} { this.props.multiple==true ? <input styleName='input-area' ref='fileLoader' onChange={this.onChange} type="file" accept={accept} multiple /> : <input styleName='input-area' ref='fileLoader' onChange={this.onChange} type="file" accept={accept} /> } </label> ); } } export default CSSModules(FileButton, styles);
input_area樣式:
.input-area { width: 0px; height: 0px; position:absolute; clip:rect(0 0 0 0); }
此外:(@material-ui中Button的封裝版本)
Pasternack推出使用壽命達(dá)一百萬次且頻率范圍寬至DC~46GHz的機(jī)電式開關(guān)
加州爾灣2015年9月15日電 /美通社/ -- 業(yè)界領(lǐng)先的射頻、微波和毫米波產(chǎn)品制造商及供應(yīng)商美國 Pasternack 公司推出了一大系列用于射頻,微波及毫米波領(lǐng)域的多市場通用同軸封裝機(jī)電式開關(guān)現(xiàn)貨產(chǎn)品。這些新型機(jī)電式開關(guān)極其適用于軍事通信、雷達(dá)、商業(yè)及軍事航空、衛(wèi)星通信、測試及儀器儀表、醫(yī)療器械等領(lǐng)域。
Pasternack通用機(jī)電式開關(guān)
上述最新機(jī)電式開關(guān)包含134種帶連接器的設(shè)計型號,保證使用壽命均為一百萬次。這些通用開關(guān)新產(chǎn)品擴(kuò)充了 Pasternack 現(xiàn)有的兩百萬至一千萬次使用壽命的高可靠性機(jī)電式繼電器開關(guān)產(chǎn)品線,使得該公司擁有業(yè)內(nèi)最大的射頻開關(guān)現(xiàn)貨產(chǎn)品庫。此類射頻繼電器開關(guān)可搭配 SMA、N 型、TNC 以及2.92mm 等各種不同連接器,而且包括單刀雙擲、雙刀雙擲、單刀四擲、單刀六擲、單刀十?dāng)S以及切換式等各種常用構(gòu)型。此外,某些型號產(chǎn)品還具有閉鎖致動器、故障安全致動器、指示燈、輸入控制電壓 (TTL) 控制、端接電阻、脈沖封鎖以及熱切換等額外功能。
上述通用開關(guān)新產(chǎn)品的工作頻率范圍為DC~46GHz,額定功率為10W~275W,隔離度高達(dá)80dB,開關(guān)速度為15ms~50ms,插入損耗低至0.2dB~0.6dB。此外,這些射頻開關(guān)的所用材料及表面處理均符合現(xiàn)行美國軍用標(biāo)準(zhǔn)。
“Pasternack 為設(shè)計人員提供了一個綜合的通用機(jī)電式開關(guān)產(chǎn)品選型庫。這些產(chǎn)品可應(yīng)用于多種市場,具有各種常用構(gòu)型,而且均具有達(dá)一百萬次的保證使用壽命”,Pasternack 公司有源器件產(chǎn)品經(jīng)理 Tim Galla 先生表示,“這些開關(guān)產(chǎn)品是對我們現(xiàn)有達(dá)一千萬次壽命的高可靠性繼電器開關(guān)產(chǎn)品線的完美補(bǔ)充。”
上述包含134種通用機(jī)電式開關(guān)的新產(chǎn)品系列已備貨在庫并可自今日隨時出貨。您可訪問http://www.pasternack.com/pages/RF-Microwave-and-Millimeter-Wave-Products/general-purpose-electromechanical-rf-switches.html,了解這些新型機(jī)電式開關(guān)的信息。
可致電 400-007-3336 聯(lián)系我們的中國經(jīng)銷商或撥打 Pasternack 中國電話 21-3655-8021,或蒞臨IME/2015 Pasternack 展臺(展位#:B085,10月21日-23日,上海光大會展中心)與我們的技術(shù)專家面對面溝通。
于vue封裝的Modal彈出層,包含html頁面打開,提示,確認(rèn)等常用diaog打開形式,引入js,css即可開箱使用,無需在頁面上提前聲明Modal,隨用隨生成,動態(tài)渲染掛接到頁面,關(guān)閉后自動移除,方便快捷,并且支持頁面大小,頁面?zhèn)鲄?,頁面回調(diào)函數(shù)等在開發(fā)中需要使用的功能
1.引入vue.js
2.引入dist文件夾下的fastdialog.js和fastdialog.css文件,詳情可查看test分支,為演示示例
首先,頁面初始化化vue需要用變量存一下
var app1=new Vue({})
普通打開頁面
app1.$fastdialog.OpenDialog("111", "打開窗口", "newpage1.html", "600", "1200");
參數(shù):dialog標(biāo)識,頁面標(biāo)題名稱,頁面url地址,頁面高度,頁面寬度
百分比打開頁面
app1.$fastdialog.OpenDialog("111", "打開窗口", "newpage1.html", "70", "80",null,null,"%");
注:第8個參數(shù)為寬高的單位,不傳默認(rèn)px
打開的頁面關(guān)閉后,主頁面觸發(fā)回調(diào)函數(shù)
app1.$fastdialog.OpenDialog("222", "關(guān)閉窗口有回調(diào)函數(shù)", "newpage1.html", "600", "1200", AfterClose);
打開的頁面關(guān)閉后,主頁面觸發(fā)回調(diào)函數(shù),回調(diào)函數(shù)包含關(guān)閉頁面?zhèn)鬟f的返回值
app1.$fastdialog.OpenDialog("333", "回掉函數(shù)包含返回值", "newpage1.html", "600", "1200", AfterCloseWithReturn); function AfterCloseWithReturn(ReturnValue) { alert("page1回傳的參數(shù):"+ReturnValue); }
打開頁面并傳遞參數(shù)
OpenDialog("444", "有回調(diào)函數(shù)并傳參", "newpage1.html", "600", "1200", AfterCloseWithReturn, "125sds");
打開頁面獲取參數(shù)
var params=app1.$fastdialog.GetParams(); if (params && params !="undefined") { alert("打開頁面接收的參數(shù):" + params); }
關(guān)閉打開的頁面
app1.$fastdialog.CloseDialog();
關(guān)閉打開的頁面并向主頁面?zhèn)鬟f返回值,配合3使用
app1.$fastdialog.CloseDialog("page1回傳222222");
在頂層窗口打開頁面,一般用于iframe中
app1.$fastdialog.OpenTopDialog("777777", "有回調(diào)函數(shù)并傳參", "newpage2.html", "500", "1000", AfterCloseWithReturn, "page1-page2傳參");
關(guān)閉頂層頁面
app1.$fastdialog.CloseDialog("page2回傳111111","page3");
注:CloseDialog方法在關(guān)閉OpenDialog的頁面,無需傳參,或者傳返回值,關(guān)閉OpenTopDialog的頁面時必須傳入兩個參數(shù),ReturnValue和打開的dialog的id標(biāo)識,無返回值傳null,如果一個頁面同時需要被 OpenDialog和OpenTopDialog打開,兩個參數(shù)必傳
打開普通提示窗
app1.$fastdialog.OpenAlert("提示", "請在規(guī)定期限內(nèi)處理完成!");
關(guān)閉提示窗關(guān)閉后觸發(fā)回調(diào)事件
app1.$fastdialog.OpenAlert("提示", "請在規(guī)定期限內(nèi)處理完成!",AfterClose);
打開成功提示窗
app1.$fastdialog.OpenSuccess("提示", "請在規(guī)定期限內(nèi)處理完成!");
打開警告提示窗
app1.$fastdialog.OpenWaring("提示", "請在規(guī)定期限內(nèi)處理完成!",null,"知道了");
打開失敗提示窗
app1.$fastdialog.OpenFail("提示", "請在規(guī)定期限內(nèi)處理完成!");
打開確認(rèn)提示窗
app1.$fastdialog.OpenConfirm("確認(rèn)提示", "是否刪除當(dāng)前數(shù)據(jù)", function () { app1.$fastdialog.OpenSuccess("提示", "刪除成功"); }); app1.$fastdialog.OpenConfirm("確認(rèn)提示", "是否刪除當(dāng)前數(shù)據(jù)", function () { }, "確認(rèn)刪除", "取消操作");
注:
1.alert類提示窗支持4個參數(shù) 標(biāo)題,提示信息,回調(diào)函數(shù),關(guān)閉按鈕文字
3.confirm提示窗支持5個參數(shù) 標(biāo)題,提示信息,確認(rèn)按鈕回調(diào)函數(shù),自定義確認(rèn)按鈕文字,自定義取消按鈕文字
一些說明: 下載代碼的同學(xué)查看例子時需要部署一下,因?yàn)镸odal中包含了請求模板的http操作
https://gitee.com/grassprogramming/FastDialog-Vue
示例:http://grassprogramming.gitee.io/fastdialog-vue/example.html
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。